package com.xbongbong.pro.decisiontree.pojo.dto;

import com.xbongbong.paas.domain.entity.ext.ConditionsEntityExt;
import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import com.xbongbong.paas.toolbox.wrap.QueryIgnore;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 决策树－联系人列表
 *
 * @Author: hongxiao
 * @date: 2021-11-20 10:38
 */
@Getter
@Setter
@ToString
public class ContactSearchListDTO extends BaseDTO {
    private static final long serialVersionUID = -7005449222447231557L;

    /**
     * 模糊搜索
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private String nameLike;

    /**
     * 关联id(父业务)
     */
    @Getter(onMethod_ = {@QueryIgnore})
    @NotNull(message = "{dto.msg.contactSearchList.parentId.NotNull}")
    private Long customerId;
    /**
     * idIn
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private List<Long> idIn;
    /**
     * 源业务类型
     */
    @Getter(onMethod_ = {@QueryIgnore})
    @NotNull(message = "{dto.msg.contactSearchList.sourceBusinessType.NotNull}")
    private Integer sourceBusinessType;
    /**
     * 是否为左侧联系人，默认为0更多联系人
     * 1：web端左侧联系人列表
     */
    private Integer isLeftList;
    /**
     * 联系人标识：1内部，2外部
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private Integer internalContact;
    /**
     * 分页当前页
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private Integer page;

    /**
     * 分页每页记录数
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private Integer pageSize;
    /**
     * 过虑已添加到决策树或组织树中的联系人ids
     */
    private List<Long> filterDataIds;
    /**
     * 搜索条件
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private List<ConditionsEntityExt> conditions;
    /**
     * 搜索条件
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private List<List<ConditionsEntityExt>> shouldConditions;

    public ContactSearchListDTO() {
        page = 1;
        pageSize = 20;
        internalContact = 1;
        isLeftList = 0;
    }
}
